/* ********************
   Agregar columnas id a tablas ctblibcom y ctblibcol.
   Crear Sequence correspondientes.
   Actualizar PK's y CONSTRAINTS

   ale - 04/10/2021

   ******************* */


-- Tabla public.ctblibcom

-- secuencia para valores de ctblibcom.id
CREATE SEQUENCE public.seq_ctblibcom
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
  
ALTER TABLE public.seq_ctblibcom OWNER TO abacouser;

-- columna id
ALTER TABLE public.ctblibcom ADD COLUMN id integer NOT NULL DEFAULT nextval('public.seq_ctblibcom');
                       
-- id como PK
ALTER TABLE public.ctblibcom DROP CONSTRAINT ctblibcom_pkey;
ALTER TABLE public.ctblibcom  ADD CONSTRAINT ctblibcom_pkey PRIMARY KEY (id);

-- unicidad para codctblib-tipocom (pk anterior)
ALTER TABLE public.ctblibcom ADD CONSTRAINT gestion_ctblicom_unique_codctblib_nro UNIQUE (codctblib, tipocom);


-- Tabla  ctblibcta: dropear constraint por cambio pk master (ctblibcol)

ALTER TABLE public.ctblibcta DROP CONSTRAINT gestion_ai_ctblibcolctblibcta;


-- Tabla public.ctblibcol

-- secuencia para valores de ctblibcol.id
CREATE SEQUENCE public.seq_ctblibcol
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;
  
ALTER TABLE public.seq_ctblibcol OWNER TO abacouser;

-- columna id
ALTER TABLE public.ctblibcol ADD COLUMN id integer NOT NULL DEFAULT nextval('public.seq_ctblibcol');
                       
-- id como PK
ALTER TABLE public.ctblibcol DROP CONSTRAINT ctblibcol_pkey;
ALTER TABLE public.ctblibcol  ADD CONSTRAINT ctblibcol_pkey PRIMARY KEY (id);

-- unicidad para codctblib-nro (pk anterior)
ALTER TABLE public.ctblibcol ADD CONSTRAINT gestion_ctblibcol_unique_codctblib_nro UNIQUE (codctblib, nro);
      
-- Tabla  ctblibcta: volver a crear constraint FK
ALTER TABLE public.ctblibcta ADD CONSTRAINT gestion_ai_ctblibcolctblibcta FOREIGN KEY (codctblib, nroctblibcol)
      REFERENCES public.ctblibcol (codctblib, nro) MATCH SIMPLE
      ON UPDATE CASCADE ON DELETE CASCADE;


-- ==================================
SELECT aaVersion('465.03','465.02');
-- ==================================